#include <pcl\gpu\kinfu\kinfu.h>
#include "LabelEquivalenceSeg.h"
#include "Frame.h"

class KinFuPostProcess{
public:
	KinFuPostProcess();
	~KinFuPostProcess();
	void process(pcl::gpu::KinfuTracker* kinfu);


private:
	void extractVertices();
	void extractNormals();
	void extractCameraPose();
	void printCameraPose();
	void runAsynchronousProcedures();



	pcl::gpu::KinfuTracker* kinfu_localReference;
	pcl::PointCloud<pcl::gpu::KinfuTracker::PointType>::Ptr v_cloud_ptr_; 
	pcl::PointCloud<pcl::gpu::KinfuTracker::NormalType>::Ptr n_cloud_ptr_;
	

	int width;
	int height;

	bool init;
	bool terminate;

	cameraPose pos;
	LabelEquivalenceSeg seg;

	Frame h;

};







